// Copyright (c) 2024 CHANGLEI. All rights reserved.

import 'package:charts_grasp/src/chart/axis/axis.dart';
import 'package:flutter/material.dart';

abstract class ZoomBehavior {
  void onPan(double xPos, double yPos);

  void onDoubleTap(double xPos, double yPos, double zoomFactor);

  void onPaint(Canvas canvas);

  void onDrawSelectionZoomRect(double currentX, double currentY, double startX, double startY);

  void onPinchStart(ChartAxis axis, double firstX, double firstY, double secondX, double secondY, double scaleFactor);

  void onPinchEnd(ChartAxis axis, double firstX, double firstY, double secondX, double secondY, double scaleFactor);

  void onPinch(ChartAxisRendererDetails axisDetails, double position, double scaleFactor);
}
